home *** CD-ROM | disk | FTP | other *** search
- #VRML V2.0 utf8 - PLATINUM technology, inc. 1997
- #ADD_TOUCH_SENSOR
-
- # Pitch 30 degrees
-
- DEF $OBJECT_Spin_30_degrees Script {
- eventIn SFTime click
- eventIn SFBool timerIsActive
- eventOut MFRotation newRotation
- eventOut SFTime startTime
- field MFRotation calcRotation [1 0 0 0, 1 0 0 0]
- field SFInt32 counter 0
- field SFBool isActive FALSE
- url"javascript:
- function click(value,ts)
- {
- if (!isActive)
- {
- counter=counter+1;
- if (counter==24)
- {counter=0;}
- calcRotation[0][3]=calcRotation[1][3];
- calcRotation[1][3]=.524*counter;
- newRotation=calcRotation;
- startTime=ts;
- }
- }
- function timerIsActive(value)
- {
- isActive=value;
- }
- "
- }
- # Animation path
- DEF $OBJECT_Spin_30_degrees_Pitchner OrientationInterpolator {
- key [0 1]
- keyValue[1 0 0 0, 1 0 0 .524]
- }
- DEF $OBJECT_Spin_30_degrees_Timer TimeSensor {
- cycleInterval .5
- }
-
- #route map
-
- ROUTE $OBJECT_Spin_30_degrees.newRotation TO $OBJECT_Spin_30_degrees_Pitchner.set_keyValue
- ROUTE $OBJECTTS.touchTime TO $OBJECT_Spin_30_degrees.click
- ROUTE $OBJECT_Spin_30_degrees.startTime TO $OBJECT_Spin_30_degrees_Timer.set_startTime
- ROUTE $OBJECT_Spin_30_degrees_Timer.fraction_changed TO $OBJECT_Spin_30_degrees_Pitchner.set_fraction
- ROUTE $OBJECT_Spin_30_degrees_Pitchner.value_changed TO $OBJECT.set_rotation
- ROUTE $OBJECT_Spin_30_degrees_Timer.isActive TO $OBJECT_Spin_30_degrees.timerIsActive
-
-
-
-